using System;
using System.Collections.Generic;
using NServiceBus.Management.ManagementService.Domain;
using NServiceBus.Management.Messages.Statistics;

namespace NServiceBus.Management.ManagementService
{
    public interface IManagementService
    {
        IList<NumberOfMessagesDatapoint> GetNumberOfMessagesFor(string endpoint, Type messageType, DateTime from, DateTime to);

        void AddStatistics(NumberOfMessagesDatapoint data);



        void RegisterNewEndpoint(string id,string adress);
        void UpdateStatusTimeForEndoint(string id);
        IList<Endpoint> GetCurrentEndpoints();

        void PingEndpointsOlderThan(int seconds);

        void RemoveEndpointsOlderThan(int seconds);
    }
}